home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / pc_fix.txt < prev    next >
Text File  |  1991-10-14  |  8KB  |  135 lines

  1.  
  2.      With the advent of NetWare v2.1, Novell introduced new concepts in
  3. printing.  New concepts such as assignable queues (mentioned earlier in
  4. this  chapter),  initialization  strings and  concurrent  capturing  of
  5. output  to  three separate printer ports.   Not least among  these  new
  6. features  were  the  new  programs that brought  them  to  life.    New
  7. utilities,  CAPTURE,  PRINTCON and PRINTDEF, fostered these new aspects
  8. of printing with NetWare.  The plan was rosy and full of glee for those
  9. looking on.   
  10.      However,  a small blemish,  perhaps overlooked by Novell,  tainted
  11. the new printing concepts.  Fortunately, only the network administrator
  12. had to be aware of this smirch.  This tarnish on the printing system is
  13. the  inability to globally define a PRINTCON job database.   For  those
  14. unknowing,  PRINTCON  gives  the ability  to  predefine  commonly  used
  15. printing parameters so that they can be referenced quickly and  easily. 
  16. In its natural form,  these PRINTCON job databases have to be  created,
  17. and  maintained for every user account that makes use of  them.   These
  18. PRINTCON databases are stored in each users' personal mailbox directory
  19. (SYS:MAIL\xxxxxxxx).  It is not uncommon for many users to require  the
  20. same PRINTCON database.  Since PRINTCON databases are not wholly unique
  21. to  each  user,  a network administrator would expect  the  ability  to
  22. define PRINTCON databases which can be shared among their users.  After
  23. all,  they can share a common login script,  why not a common  PRINTCON
  24. database.
  25.      Luckily  there  are two methods,  without purchasing  third  party
  26. products, that allow for the sharing of a common PRINTCON database. The
  27. first method is to set the shell's search mode to 5, which means always
  28. search during open file requests.   Coupled with using search mode 5 is
  29. the  placement of the common PRINTCON database in a  search  directory,
  30. for  instance SYS:PUBLIC.    This method is easier to implement of  the
  31. two.   However,  it does have the disadvantage of forcing the shell  to
  32. always  search  for every open file request.   This  could  place  your
  33. system  into jeopardy of reading the wrong files or causing  users'  to
  34. become  confused.   Say that a user was trying to load a file from  one
  35. directory, and say that if they are unable to load that file, they know
  36. to create a new one.   However, say that a file of the same name exists
  37. in  a search directory to which they have access.   The file  would  be
  38. loaded from the search directory upon failing to open it on the  first,
  39. intended, drive.  So, remember that by setting the shell search mode to
  40. 5 you have to realize the consequences.  
  41.      The  second method,  though a bit more technical,  gives you  more
  42. control.  Aiding in this emancipation is the DOS utility, DEBUG.  There
  43. are  only  three utilities which seek out the PRINTCON  database.   The
  44. first is PRINTCON,  then CAPTURE and thirdly, NPRINT.    The idea is to
  45. alter  the  filename that these utilities search for,  by which  it  is
  46. possible  to distinctively select where a PRINTCON database  is  found. 
  47. Before showing the debug steps note that when debugging a file with  an
  48. .EXE extension you need to rename the file so that it does not have  an
  49. .EXE  extension.   This  change of filename only lasts  for  the  debug
  50. session,  afterwards,  the original filename should be restored.   Now,
  51. without further adieu, here are the debug steps for CAPTURE:
  52.  
  53. 1) Rename CAPTURE.EXE to C. (something without an .EXE extension)
  54.  
  55. 2) Run DEBUG C.
  56.  
  57. 3) Type at the - prompt:
  58. -scs:100 ffff 'sys:mail' <enter>
  59. It will bring up an address like:
  60. 5E42:8528
  61. now,  use  the number on the right side of the :,  in this  case,  that
  62. number would be 8528, remember, this number is in hexadecimal
  63.  
  64. 4) Type at next - prompt:
  65. -f8528 L1c 'sys:mail\printcon.dat',0,0,0,0,0,0,0 <enter>
  66. type it in exactly like that, substituting the number following the "f"
  67. for your own
  68.  
  69. 5) Type at the next - prompt:
  70. -W <enter>
  71. (it will say Writing xxxx bytes)
  72.  
  73. 6) Type at the next - prompt:
  74. -Q <enter>
  75. this will quit DEBUG and return you to DOS
  76.  
  77. 7) Rename C. back to CAPTURE.EXE
  78.  
  79. 8) Place your "GLOBAL" PRINTCON database in the SYS:MAIL directory 
  80. (You  can make the directory something else,  in this example  we  have
  81. chosen  SYS:MAIL,  it could be anything that will fit in the line  from
  82. step  4  so long as there is at least one remaining 0 after  the  text,
  83. also  if you change the name,  alter the number 0s following  the  name
  84. appropriately so that the same total number of characters is obtained
  85.  
  86. 9) Pat yourself on the back, you are done!
  87.  
  88.      The above patch also works with NPRINT,  the patch address(es) you
  89. find will most likely be different.  However,  the above patch does not
  90. work with PRINTCON.EXE.   Though entirely optional and not necessary to
  91. achieve  a global PRINTCON database, PRINTCON can be patched.   Through
  92. the use of some disk editing utility, such as the Norton Utilities,  it
  93. would  be  possible  to  find  the  'sys:mail'   text  and  modify   it
  94. accordingly.   Note  that  this same method of  using  a  disk  editing
  95. utility could be performed for the modification of CAPTURE and  NPRINT. 
  96. Thus, the use of debug is not mandatory.  
  97.      It  may be unclear as to where the global PRINTCON database  comes
  98. from.   To clarify, one scenario would be that the PRINTCON database is
  99. created  by  the  SUPERVISOR  user.    The  SUPERVISOR  user's  mailbox
  100. directory   is  always  SYS:MAIL\1.    So,   after  the  creation   (or
  101. modification) of the SUPERVISOR's PRINTCON database it could be  copied
  102. where the global PRINTCON is expected.  
  103.      That's  it,  the steps to a global PRINTCON database are  painless
  104. and  the benefits many.   No longer will the network  administrator  be
  105. forced to maintain redundant PRINTCON databases.
  106.  
  107.  
  108. <Editor note:>If you want to include this, here it is.... 
  109. example before and after
  110. -d8528
  111. 5E42:8520                          73 79 73 3A 6D 61 69 6C           sys:mail
  112. 5E42:8530  5C 25 6C 78 5C 25 73 00-70 72 69 6E 74 63 6F 6E   \%lx\%s.printcon
  113. 5E42:8540  2E 64 61 74 00 00 53 59-53 3A 50 55 42 4C 49 43   .dat..SYS:PUBLIC
  114. 5E42:8550  5C 4E 45 54 24 50 52 4E-2E 44 41 54 00 00 00 00   \NET$PRN.DAT....
  115. 5E42:8560  00 B2 0A B2 20 20 00 B0-21 22 23 24 25 26 27 28   ....  ..!"#$%&'(
  116. 5E42:8570  29 2A 2B 2C 2D 2E 2F 30-31 32 33 34 35 36 37 38   )*+,-./012345678
  117. 5E42:8580  39 3A 3B 3C 3D 3E 3F 40-41 42 43 44 45 46 47 48   9:;<=>?@ABCDEFGH
  118. 5E42:8590  49 4A 4B 4C 4D 4E 4F 50-51 52 53 54 55 56 57 58   IJKLMNOPQRSTUVWX
  119. 5E42:85A0  59 5A 5B 2F 5D 5E 20 60                           YZ[/]^
  120. -f8528 l1c 'sys:mail\printcon.dat',0,0,0,0,0,0,0
  121. -d8528
  122. 5E42:8520                          73 79 73 3A 6D 61 69 6C           sys:mail
  123. 5E42:8530  5C 70 72 69 6E 74 63 6F-6E 2E 64 61 74 00 00 00   \printcon.dat...
  124. 5E42:8540  00 00 00 00 00 00 53 59-53 3A 50 55 42 4C 49 43   ......SYS:PUBLIC
  125. 5E42:8550  5C 4E 45 54 24 50 52 4E-2E 44 41 54 00 00 00 00   \NET$PRN.DAT....
  126. 5E42:8560  00 B2 0A B2 20 20 00 B0-21 22 23 24 25 26 27 28   ....  ..!"#$%&'(
  127. 5E42:8570  29 2A 2B 2C 2D 2E 2F 30-31 32 33 34 35 36 37 38   )*+,-./012345678
  128. 5E42:8580  39 3A 3B 3C 3D 3E 3F 40-41 42 43 44 45 46 47 48   9:;<=>?@ABCDEFGH
  129. 5E42:8590  49 4A 4B 4C 4D 4E 4F 50-51 52 53 54 55 56 57 58   IJKLMNOPQRSTUVWX
  130. 5E42:85A0  59 5A 5B 2F 5D 5E 20 60                           YZ[/]^
  131. -w
  132. Writing 8800 bytes
  133. -q
  134. *END*
  135.